﻿using mozhi.smarterp.Finance.Querys;
using Org.BouncyCastle.Tsp;
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace mozhi.smarterp.Finance.Finances
{
    public interface IJournalAppService : IApplicationService
    {
        Task<PagedResultDto<JournalDto>> FindAsync(JournalPageQuery query);

        Task<JournalDto> GetAsync(Guid id);

        Task<JournalDto> CreateAsync(JournalCreateDto dto);

        Task<JournalDto> UpdateAsync(JournalUpdateDto dto);

        Task<bool> DeleteAsync(Guid id);

        Task<string> GetNextNumberAsync(Guid numberPrefixId, int period);

        Task<int> GetCountAsync(int? period);

        //Task<Attachment> CreateAttachmentAsync(Guid journalId , IFormFile file);

        //Task DeleteAttachmentAsync(Guid id);
    }
}
